package org.jeecg.modules.online.cgform.model;

import lombok.Data;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.online.cgform.entity.OnlCgformButton;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * online 列表获取配置返回的实体
 */
@Data
public class OnlComplexModel implements Serializable{

    private static final long serialVersionUID = 1L;
    /**
     * headId
     */
    private String code;

    /**表单风格*/
    private String formTemplate;

    /**描述*/
    private String description;

    /**当前表名*/
    private String currentTableName;

    /** 表类型: 1单表、2主表、3附表 */
    private Integer tableType;

    /**
     * 分页标识 Y N
     */
    private String paginationFlag;

    /**
     * 勾选框标识
     */
    private String checkboxFlag;

    /**
     *
     * 滚动条标识 1是0否
     */
    private Integer scrollFlag;

    /**
     * 列信息
     */
    private List<OnlColumn> columns;

    /**
     * 隐藏的列名称
     */
    private List<String> hideColumns;

    /**
     * 字典信息
     */
    private Map<String, List<DictModel>> dictOptions = new HashMap<>();

    /**
     *自定义按钮
     */
    private List<OnlCgformButton> cgButtonList;

    /**
     *  href插槽
     */
    List<HrefSlots> fieldHrefSlots;

    /**
     * JS增强字符串
     */
    private String enhanceJs;

    /**
     * 外键字段 子表需要用到
     */
    private List<OnlForeignKey> foreignKeys;


    /**
     * 树形列表参数 父ID字段
     */
    private String pidField;


    /**
     * 树形列表参数 是否有子节点字段
     */
    private String hasChildrenField;


    /**
     * 树形列表参数 显示文字字段
     */
    private String textField;

    /**是否用设计器表单——作为添加页面和修改页面视图*/
    private String isDesForm;
    /**表单设计器编码*/
    private String desFormCode;

    /*主子表关联关系 0：一对多 1：一对1*/
    private java.lang.Integer relationType;

}
